from selenium import webdriver


def options_conf():
    # 创建options对象：配置浏览器的设置
    options = webdriver.ChromeOptions()

    # 窗体最大化
    options.add_argument('start-maximized')

    # 添加配置去掉密码管理弹窗
    prefs = {}
    prefs["credentials_enable_service"] = False
    prefs["profile.password_manager_enabled"] = False
    options.add_experimental_option("prefs", prefs)

    # 让Chrome在root权限下跑
    options.add_argument('--no-sandbox')

    # 无痕模式
    # options.add_argument('incognito')

    # 设置Chrome的选项
    options.add_argument('--headless')  # 无头模式，适用于没有GUI的环境
    options.add_argument('--disable-dev-shm-usage')  # 避免共享内存不足的问题
    options.add_argument('--disable-gpu')  # 禁用GPU加速
    options.add_argument('--remote-debugging-port=9224')  # 启用远程调试(lsof -i :9222这个命令可以检查端口号是否被占用)

    # 禁用浏览器扩展
    options.add_argument('--disable-extensions')

    # 禁用浏览器弹窗
    options.add_argument('--disable-popup-blocking')

    # 设置浏览器不关闭
    # options.add_experimental_option('detach', True)

    return options


if __name__ == '__main__':
    options = options_conf()
    driver = webdriver.Chrome(options=options)
    driver.get('https://baidu.com')
